\hypertarget{classPin__KinDyn}{}\doxysection{Pin\+\_\+\+Kin\+Dyn Class Reference}
\label{classPin__KinDyn}\index{Pin\_KinDyn@{Pin\_KinDyn}}


This class implement the kinematic and dynamics of robot using pinocchio.  




{\ttfamily \#include $<$pino\+\_\+kin\+\_\+dyn.\+h$>$}

\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structPin__KinDyn_1_1IkRes}{Ik\+Res}}
\begin{DoxyCompactList}\small\item\em the result of inverse kinematic \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classPin__KinDyn_a611e5a3180d568a0d8be21a917ab3880}{leg\+Idx}} \{ {\bfseries left}, 
{\bfseries right}
 \}
\begin{DoxyCompactList}\small\item\em leg index \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classPin__KinDyn_ae93c8e81370ff96aa2dc26ff9c92b0a0}{Pin\+\_\+\+Kin\+Dyn}} (std\+::string urdf\+\_\+path\+In)
\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classPin__KinDyn}{Pin\+\_\+\+Kin\+Dyn}} object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classPin__KinDyn_a432f42a03a22037c6e5372559269a711}{data\+Bus\+Read}} (\mbox{\hyperlink{structDataBus}{Data\+Bus}} const \&robot\+State)
\begin{DoxyCompactList}\small\item\em read data from databus \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classPin__KinDyn_a11219e9adc1cdbc5ed664c173d1300a8}{data\+Bus\+Write}} (\mbox{\hyperlink{structDataBus}{Data\+Bus}} \&robot\+State)
\begin{DoxyCompactList}\small\item\em write data to databus \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classPin__KinDyn_a3d2d699d8fb1754f980477615515638c}{compute\+J\+\_\+dJ}} ()
\begin{DoxyCompactList}\small\item\em compute the jacobian matrix and jacobian time variant matrix \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classPin__KinDyn_a7fc88a3c811004ff7feb508dce849e65}{compute\+Dyn}} ()
\begin{DoxyCompactList}\small\item\em compute the dynmaics coefficient of robot \end{DoxyCompactList}\item 
\mbox{\hyperlink{structPin__KinDyn_1_1IkRes}{Ik\+Res}} \mbox{\hyperlink{classPin__KinDyn_afd752ffe2b038e1386023d41326574c8}{compute\+In\+K\+\_\+\+Leg}} (const Eigen\+::\+Matrix3d \&Rdes\+\_\+L, const Eigen\+::\+Vector3d \&Pdes\+\_\+L, const Eigen\+::\+Matrix3d \&Rdes\+\_\+R, const Eigen\+::\+Vector3d \&Pdes\+\_\+R)
\begin{DoxyCompactList}\small\item\em compute inverse kinematic of robot legs \end{DoxyCompactList}\item 
\mbox{\hyperlink{structPin__KinDyn_1_1IkRes}{Ik\+Res}} \mbox{\hyperlink{classPin__KinDyn_a8e90245dd880ed9dc08de1e745242e96}{compute\+In\+K\+\_\+\+Hand}} (const Eigen\+::\+Matrix3d \&Rdes\+\_\+L, const Eigen\+::\+Vector3d \&Pdes\+\_\+L, const Eigen\+::\+Matrix3d \&Rdes\+\_\+R, const Eigen\+::\+Vector3d \&Pdes\+\_\+R)
\begin{DoxyCompactList}\small\item\em Inverse Kinematics for hand posture. \end{DoxyCompactList}\item 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_ab80c3e1eded085ad3212d533e6508f20}{integrate\+D\+IY}} (const Eigen\+::\+Vector\+Xd \&qI, const Eigen\+::\+Vector\+Xd \&dqI)
\begin{DoxyCompactList}\small\item\em intergrate the position q with velocity dq, for floating base dynamics \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classPin__KinDyn_a5268234bf043cf654a03ce51dfa315e1}{workspace\+Constraint}} (Eigen\+::\+Vector\+Xd \&q\+FT, Eigen\+::\+Vector\+Xd \&tau\+Joint\+FT)
\begin{DoxyCompactList}\small\item\em constraint the joint output torques \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static Eigen\+::\+Quaterniond \mbox{\hyperlink{classPin__KinDyn_a61b9dfb8b579bbe132c0f1e48d2b4db7}{int\+Quat}} (const Eigen\+::\+Quaterniond \&quat, const Eigen\+::\+Matrix$<$ double, 3, 1 $>$ \&w)
\begin{DoxyCompactList}\small\item\em integrate quaternion helper function used in intergrate\+D\+IY \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
std\+::vector$<$ bool $>$ \mbox{\hyperlink{classPin__KinDyn_a6235d4189f80a1b2ccc5cfeb6c549ca3}{motor\+Reach\+Limit}}
\item 
const std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classPin__KinDyn_a1a645b13e20a97675f7d7f88ce32d3e2}{motor\+Name}}
\begin{DoxyCompactList}\small\item\em all the names of the motors \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a81eda1dcd228a9ab0c1d7de3993e6bf6}\label{classPin__KinDyn_a81eda1dcd228a9ab0c1d7de3993e6bf6}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_a81eda1dcd228a9ab0c1d7de3993e6bf6}{motor\+Max\+Torque}}
\begin{DoxyCompactList}\small\item\em maximal torques of motors \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a2b0c660fb563a580dde4f7d21d1737b0}\label{classPin__KinDyn_a2b0c660fb563a580dde4f7d21d1737b0}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_a2b0c660fb563a580dde4f7d21d1737b0}{motor\+Max\+Pos}}
\begin{DoxyCompactList}\small\item\em maximal position of motors \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a0b23dde50899e66163d9ba2794c27ded}\label{classPin__KinDyn_a0b23dde50899e66163d9ba2794c27ded}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_a0b23dde50899e66163d9ba2794c27ded}{motor\+Min\+Pos}}
\begin{DoxyCompactList}\small\item\em minimal position of motors \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a697a29a765cf30888bbf5bcd3c30da02}\label{classPin__KinDyn_a697a29a765cf30888bbf5bcd3c30da02}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_a697a29a765cf30888bbf5bcd3c30da02}{tau\+Joint\+Old}}
\begin{DoxyCompactList}\small\item\em last torques of joint \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a41fd7d14a83467e248a4392cddafd0d3}\label{classPin__KinDyn_a41fd7d14a83467e248a4392cddafd0d3}} 
std\+::string \mbox{\hyperlink{classPin__KinDyn_a41fd7d14a83467e248a4392cddafd0d3}{urdf\+\_\+path}}
\begin{DoxyCompactList}\small\item\em urdf model path \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_acfbedd4d0d51b70d5841abf29f16f25f}\label{classPin__KinDyn_acfbedd4d0d51b70d5841abf29f16f25f}} 
pinocchio\+::\+Model {\bfseries model\+\_\+biped}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a4aeb4ee392f40d4f1b75a905500286f6}\label{classPin__KinDyn_a4aeb4ee392f40d4f1b75a905500286f6}} 
pinocchio\+::\+Model {\bfseries model\+\_\+biped\+\_\+fixed}
\item 
\mbox{\Hypertarget{classPin__KinDyn_aba6977419785158480f4695fd3fec5dc}\label{classPin__KinDyn_aba6977419785158480f4695fd3fec5dc}} 
int \mbox{\hyperlink{classPin__KinDyn_aba6977419785158480f4695fd3fec5dc}{model\+\_\+nv}}
\begin{DoxyCompactList}\small\item\em model degree of freedom \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_acdf0835fded44fbe593855434315dd09}\label{classPin__KinDyn_acdf0835fded44fbe593855434315dd09}} 
pinocchio\+::\+Joint\+Index {\bfseries r\+\_\+ankle\+\_\+joint}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a17964f57048d80c30e9302eb627d1be8}\label{classPin__KinDyn_a17964f57048d80c30e9302eb627d1be8}} 
pinocchio\+::\+Joint\+Index {\bfseries l\+\_\+ankle\+\_\+joint}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a7a906af197c73e9bc2567cd3fdd26c47}\label{classPin__KinDyn_a7a906af197c73e9bc2567cd3fdd26c47}} 
pinocchio\+::\+Joint\+Index {\bfseries base\+\_\+joint}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a0ee3756210eac61d305f8acaa0246a86}\label{classPin__KinDyn_a0ee3756210eac61d305f8acaa0246a86}} 
pinocchio\+::\+Joint\+Index {\bfseries r\+\_\+hip\+\_\+joint}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a15f6c9ca92e4df61e4debb131993f326}\label{classPin__KinDyn_a15f6c9ca92e4df61e4debb131993f326}} 
pinocchio\+::\+Joint\+Index {\bfseries l\+\_\+hip\+\_\+joint}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a3334a090a7dc4a7a8bb34e2d331d1353}\label{classPin__KinDyn_a3334a090a7dc4a7a8bb34e2d331d1353}} 
pinocchio\+::\+Joint\+Index {\bfseries r\+\_\+ankle\+\_\+joint\+\_\+fixed}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a11918e1ae710570cf7abfe44404fba8b}\label{classPin__KinDyn_a11918e1ae710570cf7abfe44404fba8b}} 
pinocchio\+::\+Joint\+Index {\bfseries l\+\_\+ankle\+\_\+joint\+\_\+fixed}
\item 
\mbox{\Hypertarget{classPin__KinDyn_aa87aa5140169a923120ebab9919dc459}\label{classPin__KinDyn_aa87aa5140169a923120ebab9919dc459}} 
pinocchio\+::\+Joint\+Index {\bfseries r\+\_\+hip\+\_\+joint\+\_\+fixed}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a98a154603b33b463d460d69c7b17840f}\label{classPin__KinDyn_a98a154603b33b463d460d69c7b17840f}} 
pinocchio\+::\+Joint\+Index {\bfseries l\+\_\+hip\+\_\+joint\+\_\+fixed}
\item 
\mbox{\Hypertarget{classPin__KinDyn_aec4403f513a85faa9d174f4765228036}\label{classPin__KinDyn_aec4403f513a85faa9d174f4765228036}} 
pinocchio\+::\+Joint\+Index {\bfseries r\+\_\+hand\+\_\+joint}
\item 
\mbox{\Hypertarget{classPin__KinDyn_ad1ca47fdcc64bb1e42ec810c56fa75ce}\label{classPin__KinDyn_ad1ca47fdcc64bb1e42ec810c56fa75ce}} 
pinocchio\+::\+Joint\+Index {\bfseries l\+\_\+hand\+\_\+joint}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a6d2f0758c1518778d31e54a67da88b30}\label{classPin__KinDyn_a6d2f0758c1518778d31e54a67da88b30}} 
pinocchio\+::\+Joint\+Index {\bfseries r\+\_\+hand\+\_\+joint\+\_\+fixed}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a6c18059312aa6efa998002b128769cf5}\label{classPin__KinDyn_a6c18059312aa6efa998002b128769cf5}} 
pinocchio\+::\+Joint\+Index {\bfseries l\+\_\+hand\+\_\+joint\+\_\+fixed}
\item 
\mbox{\Hypertarget{classPin__KinDyn_a6454448c08ce057ec17466dcafd96666}\label{classPin__KinDyn_a6454448c08ce057ec17466dcafd96666}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_a6454448c08ce057ec17466dcafd96666}{q}}
\begin{DoxyCompactList}\small\item\em generalized coordinate \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a246c8be67c0f4cadbd6ff9f6289d8808}\label{classPin__KinDyn_a246c8be67c0f4cadbd6ff9f6289d8808}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_a246c8be67c0f4cadbd6ff9f6289d8808}{dq}}
\begin{DoxyCompactList}\small\item\em generalized coordinate \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a7a635e50f51c600f0cf05d5dc0d60546}\label{classPin__KinDyn_a7a635e50f51c600f0cf05d5dc0d60546}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_a7a635e50f51c600f0cf05d5dc0d60546}{ddq}}
\begin{DoxyCompactList}\small\item\em generalized coordinate \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a879924f751764037e0c43570ac40ffab}\label{classPin__KinDyn_a879924f751764037e0c43570ac40ffab}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_a879924f751764037e0c43570ac40ffab}{Rcur}}
\begin{DoxyCompactList}\small\item\em current rotation matrix of robot in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_af0fb61fda80f8ddb27a0bf84ea112f31}\label{classPin__KinDyn_af0fb61fda80f8ddb27a0bf84ea112f31}} 
Eigen\+::\+Quaternion$<$ double $>$ \mbox{\hyperlink{classPin__KinDyn_af0fb61fda80f8ddb27a0bf84ea112f31}{quat\+Cur}}
\begin{DoxyCompactList}\small\item\em current quaternion \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a9b1bd4ea240aa79f8316ac62f6ff7771}\label{classPin__KinDyn_a9b1bd4ea240aa79f8316ac62f6ff7771}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_a9b1bd4ea240aa79f8316ac62f6ff7771}{J\+\_\+base}}
\begin{DoxyCompactList}\small\item\em jacobian matrix of the base link \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a5d602e453d2796799dce4fbfac4484b5}\label{classPin__KinDyn_a5d602e453d2796799dce4fbfac4484b5}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_a5d602e453d2796799dce4fbfac4484b5}{J\+\_\+l}}
\begin{DoxyCompactList}\small\item\em jacobian matrix of left foot \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a68879a33dfce772d488dcc245f54255b}\label{classPin__KinDyn_a68879a33dfce772d488dcc245f54255b}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_a68879a33dfce772d488dcc245f54255b}{J\+\_\+r}}
\begin{DoxyCompactList}\small\item\em jacobian matrix of right foot \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a040ff598ac7b277f467afafae01d2987}\label{classPin__KinDyn_a040ff598ac7b277f467afafae01d2987}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_a040ff598ac7b277f467afafae01d2987}{J\+\_\+hd\+\_\+l}}
\begin{DoxyCompactList}\small\item\em jacobian matrix of left hand \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a157366596bcb2d276f63ccadeb71c4b5}\label{classPin__KinDyn_a157366596bcb2d276f63ccadeb71c4b5}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_a157366596bcb2d276f63ccadeb71c4b5}{J\+\_\+hd\+\_\+r}}
\begin{DoxyCompactList}\small\item\em jacobian matrix of right hand \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ab21a25c6745c2a38a88d99686fcac914}\label{classPin__KinDyn_ab21a25c6745c2a38a88d99686fcac914}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_ab21a25c6745c2a38a88d99686fcac914}{d\+J\+\_\+base}}
\begin{DoxyCompactList}\small\item\em jacobian time variation matrix of base link \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a6d4d0b0e6535369bafaf10648502b4b5}\label{classPin__KinDyn_a6d4d0b0e6535369bafaf10648502b4b5}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_a6d4d0b0e6535369bafaf10648502b4b5}{d\+J\+\_\+l}}
\begin{DoxyCompactList}\small\item\em jacobian time variation matrix of left leg \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a36ba08e3ad2dbf911385d54b06f3c0d3}\label{classPin__KinDyn_a36ba08e3ad2dbf911385d54b06f3c0d3}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_a36ba08e3ad2dbf911385d54b06f3c0d3}{d\+J\+\_\+r}}
\begin{DoxyCompactList}\small\item\em jacobian time variation matrix of right leg \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a6058dfad40de7d8ac0e8b943dc28eb05}\label{classPin__KinDyn_a6058dfad40de7d8ac0e8b943dc28eb05}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_a6058dfad40de7d8ac0e8b943dc28eb05}{d\+J\+\_\+hd\+\_\+l}}
\begin{DoxyCompactList}\small\item\em jacobian time variation matrix of left hand \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ae58983c97f5e2f879f10054c6ba39e86}\label{classPin__KinDyn_ae58983c97f5e2f879f10054c6ba39e86}} 
Eigen\+::\+Matrix$<$ double, 6, -\/1 $>$ \mbox{\hyperlink{classPin__KinDyn_ae58983c97f5e2f879f10054c6ba39e86}{d\+J\+\_\+hd\+\_\+r}}
\begin{DoxyCompactList}\small\item\em jacobian time variation matrix of right hand \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ae6cb6e20875996c6243cc289f6bf127c}\label{classPin__KinDyn_ae6cb6e20875996c6243cc289f6bf127c}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_ae6cb6e20875996c6243cc289f6bf127c}{fe\+\_\+r\+\_\+pos}}
\begin{DoxyCompactList}\small\item\em right foot-\/end position in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ade120aa2bb6cfbf18868b666e77e4711}\label{classPin__KinDyn_ade120aa2bb6cfbf18868b666e77e4711}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_ade120aa2bb6cfbf18868b666e77e4711}{fe\+\_\+l\+\_\+pos}}
\begin{DoxyCompactList}\small\item\em left foot-\/end position in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a79512bb0eb39b4ba78d0c36ce1a739cf}\label{classPin__KinDyn_a79512bb0eb39b4ba78d0c36ce1a739cf}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_a79512bb0eb39b4ba78d0c36ce1a739cf}{base\+\_\+pos}}
\begin{DoxyCompactList}\small\item\em base position in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ab39ac8df8d6b69f53d985eca28177b34}\label{classPin__KinDyn_ab39ac8df8d6b69f53d985eca28177b34}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_ab39ac8df8d6b69f53d985eca28177b34}{fe\+\_\+r\+\_\+pos\+\_\+body}}
\begin{DoxyCompactList}\small\item\em right foot-\/end position in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_afed034fe61edaa6aa36df8c901fc9e28}\label{classPin__KinDyn_afed034fe61edaa6aa36df8c901fc9e28}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_afed034fe61edaa6aa36df8c901fc9e28}{fe\+\_\+l\+\_\+pos\+\_\+body}}
\begin{DoxyCompactList}\small\item\em left foot-\/end position in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_aba5b9af499a3c3f81f490b54e34991c6}\label{classPin__KinDyn_aba5b9af499a3c3f81f490b54e34991c6}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_aba5b9af499a3c3f81f490b54e34991c6}{hd\+\_\+r\+\_\+pos}}
\begin{DoxyCompactList}\small\item\em right hand position in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a8de858c5bd62babd3d36df437e08be92}\label{classPin__KinDyn_a8de858c5bd62babd3d36df437e08be92}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_a8de858c5bd62babd3d36df437e08be92}{hd\+\_\+l\+\_\+pos}}
\begin{DoxyCompactList}\small\item\em left hand position in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_aac50fbd6bdff3bc838de986315bf8cd7}\label{classPin__KinDyn_aac50fbd6bdff3bc838de986315bf8cd7}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_aac50fbd6bdff3bc838de986315bf8cd7}{hd\+\_\+r\+\_\+pos\+\_\+body}}
\begin{DoxyCompactList}\small\item\em right hand position in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a5eba5c788410fe05e5fe243631f9e3b2}\label{classPin__KinDyn_a5eba5c788410fe05e5fe243631f9e3b2}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_a5eba5c788410fe05e5fe243631f9e3b2}{hd\+\_\+l\+\_\+pos\+\_\+body}}
\begin{DoxyCompactList}\small\item\em left hand position in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_afc16893d044c20781a288c5c1710257f}\label{classPin__KinDyn_afc16893d044c20781a288c5c1710257f}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_afc16893d044c20781a288c5c1710257f}{hip\+\_\+r\+\_\+pos}}
\begin{DoxyCompactList}\small\item\em right hip position in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a49cf98ca47a3074a6318dfb72227913a}\label{classPin__KinDyn_a49cf98ca47a3074a6318dfb72227913a}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_a49cf98ca47a3074a6318dfb72227913a}{hip\+\_\+l\+\_\+pos}}
\begin{DoxyCompactList}\small\item\em left hip position in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a541ccf408ed784361c031921a93137db}\label{classPin__KinDyn_a541ccf408ed784361c031921a93137db}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_a541ccf408ed784361c031921a93137db}{hip\+\_\+r\+\_\+pos\+\_\+body}}
\begin{DoxyCompactList}\small\item\em right hip position in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a63a9d828bf82b54e7f6af65267b00b87}\label{classPin__KinDyn_a63a9d828bf82b54e7f6af65267b00b87}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_a63a9d828bf82b54e7f6af65267b00b87}{hip\+\_\+l\+\_\+pos\+\_\+body}}
\begin{DoxyCompactList}\small\item\em left hip position in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_adcb1509a37999bcbf637a95786b19efa}\label{classPin__KinDyn_adcb1509a37999bcbf637a95786b19efa}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_adcb1509a37999bcbf637a95786b19efa}{fe\+\_\+r\+\_\+rot}}
\begin{DoxyCompactList}\small\item\em right foot rotation matrix in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ac4040e935721db8ea7cf0fad90599ad7}\label{classPin__KinDyn_ac4040e935721db8ea7cf0fad90599ad7}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_ac4040e935721db8ea7cf0fad90599ad7}{fe\+\_\+l\+\_\+rot}}
\begin{DoxyCompactList}\small\item\em left foot rotation matrix in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a743c47fe851c5dee9b852b760e9bf809}\label{classPin__KinDyn_a743c47fe851c5dee9b852b760e9bf809}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_a743c47fe851c5dee9b852b760e9bf809}{base\+\_\+rot}}
\begin{DoxyCompactList}\small\item\em base rotation matrix in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_adbc3d08c55bc3f94acf14cfe7e735eb3}\label{classPin__KinDyn_adbc3d08c55bc3f94acf14cfe7e735eb3}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_adbc3d08c55bc3f94acf14cfe7e735eb3}{fe\+\_\+r\+\_\+rot\+\_\+body}}
\begin{DoxyCompactList}\small\item\em right foot rotation matrix in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ab48b18384639b211ac70cdb670a6dd90}\label{classPin__KinDyn_ab48b18384639b211ac70cdb670a6dd90}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_ab48b18384639b211ac70cdb670a6dd90}{fe\+\_\+l\+\_\+rot\+\_\+body}}
\begin{DoxyCompactList}\small\item\em left foot rotation matrix in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a6e72e11b7c2a7c648a9599e9e912a6f8}\label{classPin__KinDyn_a6e72e11b7c2a7c648a9599e9e912a6f8}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_a6e72e11b7c2a7c648a9599e9e912a6f8}{hd\+\_\+r\+\_\+rot}}
\begin{DoxyCompactList}\small\item\em right hand rotation matrix in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a2406329f82787e92aa8c3cfab10bda70}\label{classPin__KinDyn_a2406329f82787e92aa8c3cfab10bda70}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_a2406329f82787e92aa8c3cfab10bda70}{hd\+\_\+l\+\_\+rot}}
\begin{DoxyCompactList}\small\item\em left hand rotation matrix in world frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_aa8801df8ff914baf5a07643afe6b80ca}\label{classPin__KinDyn_aa8801df8ff914baf5a07643afe6b80ca}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_aa8801df8ff914baf5a07643afe6b80ca}{hd\+\_\+r\+\_\+rot\+\_\+body}}
\begin{DoxyCompactList}\small\item\em right hand rotation matrix in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a860130a4374ecd0080a0e68830147f87}\label{classPin__KinDyn_a860130a4374ecd0080a0e68830147f87}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_a860130a4374ecd0080a0e68830147f87}{hd\+\_\+l\+\_\+rot\+\_\+body}}
\begin{DoxyCompactList}\small\item\em left hand rotation matrix in body frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a136c294262a7f8a4172c9efb5dec2627}\label{classPin__KinDyn_a136c294262a7f8a4172c9efb5dec2627}} 
Eigen\+::\+Matrix\+Xd \mbox{\hyperlink{classPin__KinDyn_a136c294262a7f8a4172c9efb5dec2627}{dyn\+\_\+M}}
\begin{DoxyCompactList}\small\item\em dynamic parameters of the dynamic function M$\ast$ddq+\+C$\ast$dq+G=tau \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ae7e6121409beacc2a4c1f3214012a467}\label{classPin__KinDyn_ae7e6121409beacc2a4c1f3214012a467}} 
Eigen\+::\+Matrix\+Xd \mbox{\hyperlink{classPin__KinDyn_ae7e6121409beacc2a4c1f3214012a467}{dyn\+\_\+\+M\+\_\+inv}}
\begin{DoxyCompactList}\small\item\em inverse of the dynamic parameters M \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_ab64e10d5034313bf4d7fc54e385686ad}\label{classPin__KinDyn_ab64e10d5034313bf4d7fc54e385686ad}} 
Eigen\+::\+Matrix\+Xd \mbox{\hyperlink{classPin__KinDyn_ab64e10d5034313bf4d7fc54e385686ad}{dyn\+\_\+C}}
\begin{DoxyCompactList}\small\item\em dynamic parameters of the dynamic function M$\ast$ddq+\+C$\ast$dq+G=tau \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a1d528b488460f27b8bac70d1e26d9ee1}\label{classPin__KinDyn_a1d528b488460f27b8bac70d1e26d9ee1}} 
Eigen\+::\+Matrix\+Xd \mbox{\hyperlink{classPin__KinDyn_a1d528b488460f27b8bac70d1e26d9ee1}{dyn\+\_\+G}}
\begin{DoxyCompactList}\small\item\em dynamic parameters of the dynamic function M$\ast$ddq+\+C$\ast$dq+G=tau \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a508a92b965d4044c361cc7a41afcb4b4}\label{classPin__KinDyn_a508a92b965d4044c361cc7a41afcb4b4}} 
Eigen\+::\+Matrix\+Xd \mbox{\hyperlink{classPin__KinDyn_a508a92b965d4044c361cc7a41afcb4b4}{dyn\+\_\+\+Ag}}
\begin{DoxyCompactList}\small\item\em Centroidal Momentum Matrix. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a87b2bf2c470ab43b90913000ac0d4f65}\label{classPin__KinDyn_a87b2bf2c470ab43b90913000ac0d4f65}} 
Eigen\+::\+Matrix\+Xd \mbox{\hyperlink{classPin__KinDyn_a87b2bf2c470ab43b90913000ac0d4f65}{dyn\+\_\+d\+Ag}}
\begin{DoxyCompactList}\small\item\em Centroidal Momentum Matrix time variant. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a77dca70b3681c902798dc281c54a1791}\label{classPin__KinDyn_a77dca70b3681c902798dc281c54a1791}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classPin__KinDyn_a77dca70b3681c902798dc281c54a1791}{dyn\+\_\+\+Non}}
\begin{DoxyCompactList}\small\item\em dynamic parameters of the dynamic function M$\ast$ddq+\+C$\ast$dq+G=tau, dyn\+\_\+\+Non=dyn\+\_\+\+C$\ast$dq+dyn\+\_\+G \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a186ab4dcf146680f38113f9cbd55de24}\label{classPin__KinDyn_a186ab4dcf146680f38113f9cbd55de24}} 
Eigen\+::\+Vector3d \mbox{\hyperlink{classPin__KinDyn_a186ab4dcf146680f38113f9cbd55de24}{Co\+M\+\_\+pos}}
\begin{DoxyCompactList}\small\item\em current com position in world coordinate \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPin__KinDyn_a8c15990b1d6a9bfdbeea23bdc7edef0a}\label{classPin__KinDyn_a8c15990b1d6a9bfdbeea23bdc7edef0a}} 
Eigen\+::\+Matrix3d \mbox{\hyperlink{classPin__KinDyn_a8c15990b1d6a9bfdbeea23bdc7edef0a}{inertia}}
\begin{DoxyCompactList}\small\item\em current Centroidal Composite Rigid Body Inertia. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This class implement the kinematic and dynamics of robot using pinocchio. 



Definition at line 28 of file pino\+\_\+kin\+\_\+dyn.\+h.



\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classPin__KinDyn_a611e5a3180d568a0d8be21a917ab3880}\label{classPin__KinDyn_a611e5a3180d568a0d8be21a917ab3880}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!legIdx@{legIdx}}
\index{legIdx@{legIdx}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{legIdx}{legIdx}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{classPin__KinDyn_a611e5a3180d568a0d8be21a917ab3880}{Pin\+\_\+\+Kin\+Dyn\+::leg\+Idx}}}



leg index 



Definition at line 102 of file pino\+\_\+kin\+\_\+dyn.\+h.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classPin__KinDyn_ae93c8e81370ff96aa2dc26ff9c92b0a0}\label{classPin__KinDyn_ae93c8e81370ff96aa2dc26ff9c92b0a0}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!Pin\_KinDyn@{Pin\_KinDyn}}
\index{Pin\_KinDyn@{Pin\_KinDyn}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{Pin\_KinDyn()}{Pin\_KinDyn()}}
{\footnotesize\ttfamily Pin\+\_\+\+Kin\+Dyn\+::\+Pin\+\_\+\+Kin\+Dyn (\begin{DoxyParamCaption}\item[{std\+::string}]{urdf\+\_\+path\+In }\end{DoxyParamCaption})}



Construct a new \mbox{\hyperlink{classPin__KinDyn}{Pin\+\_\+\+Kin\+Dyn}} object. 


\begin{DoxyParams}{Parameters}
{\em urdf\+\_\+path\+In} & urdf path \\
\hline
\end{DoxyParams}


Definition at line 12 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References ddq, d\+J\+\_\+base, d\+J\+\_\+hd\+\_\+l, d\+J\+\_\+hd\+\_\+r, d\+J\+\_\+l, d\+J\+\_\+r, dq, dyn\+\_\+C, dyn\+\_\+G, dyn\+\_\+M, dyn\+\_\+\+M\+\_\+inv, J\+\_\+base, J\+\_\+hd\+\_\+l, J\+\_\+hd\+\_\+r, J\+\_\+l, J\+\_\+r, model\+\_\+nv, motor\+Max\+Pos, motor\+Max\+Torque, motor\+Min\+Pos, motor\+Name, motor\+Reach\+Limit, q, Rcur, and tau\+Joint\+Old.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classPin__KinDyn_a7fc88a3c811004ff7feb508dce849e65}\label{classPin__KinDyn_a7fc88a3c811004ff7feb508dce849e65}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!computeDyn@{computeDyn}}
\index{computeDyn@{computeDyn}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{computeDyn()}{computeDyn()}}
{\footnotesize\ttfamily void Pin\+\_\+\+Kin\+Dyn\+::compute\+Dyn (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



compute the dynmaics coefficient of robot 



Definition at line 204 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References Co\+M\+\_\+pos, dq, dyn\+\_\+\+Ag, dyn\+\_\+C, dyn\+\_\+d\+Ag, dyn\+\_\+G, dyn\+\_\+M, dyn\+\_\+\+M\+\_\+inv, dyn\+\_\+\+Non, inertia, and q.

\mbox{\Hypertarget{classPin__KinDyn_a8e90245dd880ed9dc08de1e745242e96}\label{classPin__KinDyn_a8e90245dd880ed9dc08de1e745242e96}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!computeInK\_Hand@{computeInK\_Hand}}
\index{computeInK\_Hand@{computeInK\_Hand}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{computeInK\_Hand()}{computeInK\_Hand()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structPin__KinDyn_1_1IkRes}{Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res}} Pin\+\_\+\+Kin\+Dyn\+::compute\+In\+K\+\_\+\+Hand (\begin{DoxyParamCaption}\item[{const Eigen\+::\+Matrix3d \&}]{Rdes\+\_\+L,  }\item[{const Eigen\+::\+Vector3d \&}]{Pdes\+\_\+L,  }\item[{const Eigen\+::\+Matrix3d \&}]{Rdes\+\_\+R,  }\item[{const Eigen\+::\+Vector3d \&}]{Pdes\+\_\+R }\end{DoxyParamCaption})}



Inverse Kinematics for hand posture. 


\begin{DoxyParams}{Parameters}
{\em Rdes\+\_\+L} & left hand rotation matrix in body frame \\
\hline
{\em Pdes\+\_\+L} & left hand position in body frame \\
\hline
{\em Rdes\+\_\+R} & right hand rotation matrix in body frame \\
\hline
{\em Pdes\+\_\+R} & right hand position in body frame \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{structPin__KinDyn_1_1IkRes}{Ik\+Res}} 
\end{DoxyReturn}


Definition at line 334 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res\+::err, Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res\+::itr, Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res\+::joint\+Pos\+Res, and Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res\+::status.



Referenced by W\+B\+C\+\_\+priority\+::compute\+Ddq().

\mbox{\Hypertarget{classPin__KinDyn_afd752ffe2b038e1386023d41326574c8}\label{classPin__KinDyn_afd752ffe2b038e1386023d41326574c8}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!computeInK\_Leg@{computeInK\_Leg}}
\index{computeInK\_Leg@{computeInK\_Leg}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{computeInK\_Leg()}{computeInK\_Leg()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structPin__KinDyn_1_1IkRes}{Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res}} Pin\+\_\+\+Kin\+Dyn\+::compute\+In\+K\+\_\+\+Leg (\begin{DoxyParamCaption}\item[{const Eigen\+::\+Matrix3d \&}]{Rdes\+\_\+L,  }\item[{const Eigen\+::\+Vector3d \&}]{Pdes\+\_\+L,  }\item[{const Eigen\+::\+Matrix3d \&}]{Rdes\+\_\+R,  }\item[{const Eigen\+::\+Vector3d \&}]{Pdes\+\_\+R }\end{DoxyParamCaption})}



compute inverse kinematic of robot legs 


\begin{DoxyParams}{Parameters}
{\em Rdes\+\_\+L} & left foot rotation matrix in body frame \\
\hline
{\em Pdes\+\_\+L} & left foot position in body frame \\
\hline
{\em Rdes\+\_\+R} & right foot rotation matrix in body frame \\
\hline
{\em Pdes\+\_\+R} & right foot position in body frame \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{structPin__KinDyn_1_1IkRes}{Ik\+Res}} 
\end{DoxyReturn}


Definition at line 244 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res\+::err, Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res\+::itr, Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res\+::joint\+Pos\+Res, and Pin\+\_\+\+Kin\+Dyn\+::\+Ik\+Res\+::status.

\mbox{\Hypertarget{classPin__KinDyn_a3d2d699d8fb1754f980477615515638c}\label{classPin__KinDyn_a3d2d699d8fb1754f980477615515638c}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!computeJ\_dJ@{computeJ\_dJ}}
\index{computeJ\_dJ@{computeJ\_dJ}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{computeJ\_dJ()}{computeJ\_dJ()}}
{\footnotesize\ttfamily void Pin\+\_\+\+Kin\+Dyn\+::compute\+J\+\_\+dJ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



compute the jacobian matrix and jacobian time variant matrix 



Definition at line 121 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References base\+\_\+pos, base\+\_\+rot, d\+J\+\_\+base, d\+J\+\_\+hd\+\_\+l, d\+J\+\_\+hd\+\_\+r, d\+J\+\_\+l, d\+J\+\_\+r, dq, fe\+\_\+l\+\_\+pos, fe\+\_\+l\+\_\+pos\+\_\+body, fe\+\_\+l\+\_\+rot, fe\+\_\+l\+\_\+rot\+\_\+body, fe\+\_\+r\+\_\+pos, fe\+\_\+r\+\_\+pos\+\_\+body, fe\+\_\+r\+\_\+rot, fe\+\_\+r\+\_\+rot\+\_\+body, hd\+\_\+l\+\_\+pos, hd\+\_\+l\+\_\+pos\+\_\+body, hd\+\_\+l\+\_\+rot, hd\+\_\+l\+\_\+rot\+\_\+body, hd\+\_\+r\+\_\+pos, hd\+\_\+r\+\_\+pos\+\_\+body, hd\+\_\+r\+\_\+rot, hd\+\_\+r\+\_\+rot\+\_\+body, hip\+\_\+l\+\_\+pos, hip\+\_\+l\+\_\+pos\+\_\+body, hip\+\_\+r\+\_\+pos, hip\+\_\+r\+\_\+pos\+\_\+body, J\+\_\+base, J\+\_\+hd\+\_\+l, J\+\_\+hd\+\_\+r, J\+\_\+l, J\+\_\+r, and q.

\mbox{\Hypertarget{classPin__KinDyn_a432f42a03a22037c6e5372559269a711}\label{classPin__KinDyn_a432f42a03a22037c6e5372559269a711}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!dataBusRead@{dataBusRead}}
\index{dataBusRead@{dataBusRead}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{dataBusRead()}{dataBusRead()}}
{\footnotesize\ttfamily void Pin\+\_\+\+Kin\+Dyn\+::data\+Bus\+Read (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structDataBus}{Data\+Bus}} const \&}]{robot\+State }\end{DoxyParamCaption})}



read data from databus 


\begin{DoxyParams}{Parameters}
{\em robot\+State} & \\
\hline
\end{DoxyParams}


Definition at line 71 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References Data\+Bus\+::ddq, ddq, Data\+Bus\+::dq, dq, Data\+Bus\+::q, and q.

\mbox{\Hypertarget{classPin__KinDyn_a11219e9adc1cdbc5ed664c173d1300a8}\label{classPin__KinDyn_a11219e9adc1cdbc5ed664c173d1300a8}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!dataBusWrite@{dataBusWrite}}
\index{dataBusWrite@{dataBusWrite}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{dataBusWrite()}{dataBusWrite()}}
{\footnotesize\ttfamily void Pin\+\_\+\+Kin\+Dyn\+::data\+Bus\+Write (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structDataBus}{Data\+Bus}} \&}]{robot\+State }\end{DoxyParamCaption})}



write data to databus 


\begin{DoxyParams}{Parameters}
{\em robot\+State} & \\
\hline
\end{DoxyParams}


Definition at line 77 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References Data\+Bus\+::d\+J\+\_\+base, d\+J\+\_\+base, Data\+Bus\+::d\+J\+\_\+hd\+\_\+l, d\+J\+\_\+hd\+\_\+l, Data\+Bus\+::d\+J\+\_\+hd\+\_\+r, d\+J\+\_\+hd\+\_\+r, Data\+Bus\+::d\+J\+\_\+l, d\+J\+\_\+l, Data\+Bus\+::d\+J\+\_\+r, d\+J\+\_\+r, dyn\+\_\+\+Ag, Data\+Bus\+::dyn\+\_\+\+Ag, dyn\+\_\+C, Data\+Bus\+::dyn\+\_\+C, dyn\+\_\+d\+Ag, Data\+Bus\+::dyn\+\_\+d\+Ag, dyn\+\_\+G, Data\+Bus\+::dyn\+\_\+G, dyn\+\_\+M, Data\+Bus\+::dyn\+\_\+M, dyn\+\_\+\+M\+\_\+inv, Data\+Bus\+::dyn\+\_\+\+M\+\_\+inv, dyn\+\_\+\+Non, Data\+Bus\+::dyn\+\_\+\+Non, fe\+\_\+l\+\_\+pos, fe\+\_\+l\+\_\+pos\+\_\+body, Data\+Bus\+::fe\+\_\+l\+\_\+pos\+\_\+L, Data\+Bus\+::fe\+\_\+l\+\_\+pos\+\_\+W, fe\+\_\+l\+\_\+rot, fe\+\_\+l\+\_\+rot\+\_\+body, Data\+Bus\+::fe\+\_\+l\+\_\+rot\+\_\+L, Data\+Bus\+::fe\+\_\+l\+\_\+rot\+\_\+W, fe\+\_\+r\+\_\+pos, fe\+\_\+r\+\_\+pos\+\_\+body, Data\+Bus\+::fe\+\_\+r\+\_\+pos\+\_\+L, Data\+Bus\+::fe\+\_\+r\+\_\+pos\+\_\+W, fe\+\_\+r\+\_\+rot, fe\+\_\+r\+\_\+rot\+\_\+body, Data\+Bus\+::fe\+\_\+r\+\_\+rot\+\_\+L, Data\+Bus\+::fe\+\_\+r\+\_\+rot\+\_\+W, hd\+\_\+l\+\_\+pos, hd\+\_\+l\+\_\+pos\+\_\+body, Data\+Bus\+::hd\+\_\+l\+\_\+pos\+\_\+L, Data\+Bus\+::hd\+\_\+l\+\_\+pos\+\_\+W, hd\+\_\+l\+\_\+rot, hd\+\_\+l\+\_\+rot\+\_\+body, Data\+Bus\+::hd\+\_\+l\+\_\+rot\+\_\+L, Data\+Bus\+::hd\+\_\+l\+\_\+rot\+\_\+W, hd\+\_\+r\+\_\+pos, hd\+\_\+r\+\_\+pos\+\_\+body, Data\+Bus\+::hd\+\_\+r\+\_\+pos\+\_\+L, Data\+Bus\+::hd\+\_\+r\+\_\+pos\+\_\+W, hd\+\_\+r\+\_\+rot, hd\+\_\+r\+\_\+rot\+\_\+body, Data\+Bus\+::hd\+\_\+r\+\_\+rot\+\_\+L, Data\+Bus\+::hd\+\_\+r\+\_\+rot\+\_\+W, hip\+\_\+l\+\_\+pos, hip\+\_\+l\+\_\+pos\+\_\+body, Data\+Bus\+::hip\+\_\+l\+\_\+pos\+\_\+L, Data\+Bus\+::hip\+\_\+l\+\_\+pos\+\_\+W, hip\+\_\+r\+\_\+pos, hip\+\_\+r\+\_\+pos\+\_\+body, Data\+Bus\+::hip\+\_\+r\+\_\+pos\+\_\+L, Data\+Bus\+::hip\+\_\+r\+\_\+pos\+\_\+W, inertia, Data\+Bus\+::inertia, Data\+Bus\+::\+J\+\_\+base, J\+\_\+base, Data\+Bus\+::\+J\+\_\+hd\+\_\+l, J\+\_\+hd\+\_\+l, Data\+Bus\+::\+J\+\_\+hd\+\_\+r, J\+\_\+hd\+\_\+r, Data\+Bus\+::\+J\+\_\+l, J\+\_\+l, Data\+Bus\+::\+J\+\_\+r, and J\+\_\+r.

\mbox{\Hypertarget{classPin__KinDyn_ab80c3e1eded085ad3212d533e6508f20}\label{classPin__KinDyn_ab80c3e1eded085ad3212d533e6508f20}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!integrateDIY@{integrateDIY}}
\index{integrateDIY@{integrateDIY}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{integrateDIY()}{integrateDIY()}}
{\footnotesize\ttfamily Eigen\+::\+Vector\+Xd Pin\+\_\+\+Kin\+Dyn\+::integrate\+D\+IY (\begin{DoxyParamCaption}\item[{const Eigen\+::\+Vector\+Xd \&}]{qI,  }\item[{const Eigen\+::\+Vector\+Xd \&}]{dqI }\end{DoxyParamCaption})}



intergrate the position q with velocity dq, for floating base dynamics 


\begin{DoxyParams}{Parameters}
{\em qI} & q to integrate \\
\hline
{\em dqI} & dq to intergrate \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Eigen\+::\+Vector\+Xd 
\end{DoxyReturn}


Definition at line 185 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References int\+Quat(), and model\+\_\+nv.

\mbox{\Hypertarget{classPin__KinDyn_a61b9dfb8b579bbe132c0f1e48d2b4db7}\label{classPin__KinDyn_a61b9dfb8b579bbe132c0f1e48d2b4db7}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!intQuat@{intQuat}}
\index{intQuat@{intQuat}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{intQuat()}{intQuat()}}
{\footnotesize\ttfamily Eigen\+::\+Quaterniond Pin\+\_\+\+Kin\+Dyn\+::int\+Quat (\begin{DoxyParamCaption}\item[{const Eigen\+::\+Quaterniond \&}]{quat,  }\item[{const Eigen\+::\+Matrix$<$ double, 3, 1 $>$ \&}]{w }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



integrate quaternion helper function used in intergrate\+D\+IY 


\begin{DoxyParams}{Parameters}
{\em quat} & quaternion to be integrate \\
\hline
{\em w} & angle velocity omega \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Eigen\+::\+Quaterniond 
\end{DoxyReturn}


Definition at line 165 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References Rcur.



Referenced by integrate\+D\+I\+Y().

\mbox{\Hypertarget{classPin__KinDyn_a5268234bf043cf654a03ce51dfa315e1}\label{classPin__KinDyn_a5268234bf043cf654a03ce51dfa315e1}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!workspaceConstraint@{workspaceConstraint}}
\index{workspaceConstraint@{workspaceConstraint}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{workspaceConstraint()}{workspaceConstraint()}}
{\footnotesize\ttfamily void Pin\+\_\+\+Kin\+Dyn\+::workspace\+Constraint (\begin{DoxyParamCaption}\item[{Eigen\+::\+Vector\+Xd \&}]{q\+FT,  }\item[{Eigen\+::\+Vector\+Xd \&}]{tau\+Joint\+FT }\end{DoxyParamCaption})}



constraint the joint output torques 


\begin{DoxyParams}{Parameters}
{\em q\+FT} & current generalized coordinate q \\
\hline
{\em tau\+Joint\+F\+T\mbox{[}out\mbox{]}} & joint torques \\
\hline
\end{DoxyParams}
\begin{DoxyAttention}{Attention}
must call \mbox{\hyperlink{classPin__KinDyn_a7fc88a3c811004ff7feb508dce849e65}{compute\+Dyn()}} first! 
\end{DoxyAttention}


Definition at line 420 of file pino\+\_\+kin\+\_\+dyn.\+cpp.



References motor\+Max\+Pos, motor\+Min\+Pos, motor\+Name, motor\+Reach\+Limit, and tau\+Joint\+Old.



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classPin__KinDyn_a1a645b13e20a97675f7d7f88ce32d3e2}\label{classPin__KinDyn_a1a645b13e20a97675f7d7f88ce32d3e2}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!motorName@{motorName}}
\index{motorName@{motorName}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{motorName}{motorName}}
{\footnotesize\ttfamily const std\+::vector$<$std\+::string$>$ Pin\+\_\+\+Kin\+Dyn\+::motor\+Name}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{\textcolor{stringliteral}{"J\_arm\_l\_01"}, \textcolor{stringliteral}{"J\_arm\_l\_02"}, \textcolor{stringliteral}{"J\_arm\_l\_03"}, \textcolor{stringliteral}{"J\_arm\_l\_04"}, \textcolor{stringliteral}{"J\_arm\_l\_05"},}
\DoxyCodeLine{                                                \textcolor{stringliteral}{"J\_arm\_l\_06"}, \textcolor{stringliteral}{"J\_arm\_l\_07"}, \textcolor{stringliteral}{"J\_arm\_r\_01"}, \textcolor{stringliteral}{"J\_arm\_r\_02"}, \textcolor{stringliteral}{"J\_arm\_r\_03"},}
\DoxyCodeLine{                                                \textcolor{stringliteral}{"J\_arm\_r\_04"}, \textcolor{stringliteral}{"J\_arm\_r\_05"}, \textcolor{stringliteral}{"J\_arm\_r\_06"}, \textcolor{stringliteral}{"J\_arm\_r\_07"},}
\DoxyCodeLine{                                                \textcolor{stringliteral}{"J\_head\_yaw"}, \textcolor{stringliteral}{"J\_head\_pitch"}, \textcolor{stringliteral}{"J\_waist\_pitch"}, \textcolor{stringliteral}{"J\_waist\_roll"}, \textcolor{stringliteral}{"J\_waist\_yaw"},}
\DoxyCodeLine{                                                \textcolor{stringliteral}{"J\_hip\_l\_roll"}, \textcolor{stringliteral}{"J\_hip\_l\_yaw"}, \textcolor{stringliteral}{"J\_hip\_l\_pitch"}, \textcolor{stringliteral}{"J\_knee\_l\_pitch"},}
\DoxyCodeLine{                                                \textcolor{stringliteral}{"J\_ankle\_l\_pitch"}, \textcolor{stringliteral}{"J\_ankle\_l\_roll"}, \textcolor{stringliteral}{"J\_hip\_r\_roll"}, \textcolor{stringliteral}{"J\_hip\_r\_yaw"},}
\DoxyCodeLine{                                                \textcolor{stringliteral}{"J\_hip\_r\_pitch"}, \textcolor{stringliteral}{"J\_knee\_r\_pitch"}, \textcolor{stringliteral}{"J\_ankle\_r\_pitch"}, \textcolor{stringliteral}{"J\_ankle\_r\_roll"}\}}

\end{DoxyCode}


all the names of the motors 



Definition at line 33 of file pino\+\_\+kin\+\_\+dyn.\+h.



Referenced by Pin\+\_\+\+Kin\+Dyn(), and workspace\+Constraint().

\mbox{\Hypertarget{classPin__KinDyn_a6235d4189f80a1b2ccc5cfeb6c549ca3}\label{classPin__KinDyn_a6235d4189f80a1b2ccc5cfeb6c549ca3}} 
\index{Pin\_KinDyn@{Pin\_KinDyn}!motorReachLimit@{motorReachLimit}}
\index{motorReachLimit@{motorReachLimit}!Pin\_KinDyn@{Pin\_KinDyn}}
\doxysubsubsection{\texorpdfstring{motorReachLimit}{motorReachLimit}}
{\footnotesize\ttfamily std\+::vector$<$bool$>$ Pin\+\_\+\+Kin\+Dyn\+::motor\+Reach\+Limit}

whether motors have reached their limit 

Definition at line 31 of file pino\+\_\+kin\+\_\+dyn.\+h.



Referenced by Pin\+\_\+\+Kin\+Dyn(), and workspace\+Constraint().



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
pino\+\_\+kin\+\_\+dyn.\+h\item 
pino\+\_\+kin\+\_\+dyn.\+cpp\end{DoxyCompactItemize}
